Method for Identifying Real-Time Traffic Hop by Hop in an Internet Network

ABSTRACT

A method for identifying real-time traffic hop by hop in an Internet network including a sender, a receiver, and routers in the network is provided. The method comprises steps of registering source port number and/or destination port number of the UDP respectively for RTP, RTCP and RTSP with the Internet Assigned Numbers Authority (IANA) under the Internet Engineering Task Force (IETF) arrangement, then in one aspect, adding in the UDP header a Session ID field for identifying the session. The method can be used to identify the frames of the Real-time Transport Protocol (RTP) hop by hop during the packet&#39;s transmission, and to provide priority for real-time traffic transport so as to provide a QoS guarantee for real-time traffic even in the case of dramatically increasing network traffic.

TECHNICAL FIELD

The present invention relates to a method of transporting Voice over IP (VoIP), and more particularly to a method for identifying real-time traffic hop by hop in an Internet network.

TECHNICAL BACKGROUND

Traditional telephone technology uses circuit switching to transport voice. But as Internet usage has become more widespread, VoIP (Voice over IP) technology applying the Internet Protocol (IP) to transport voice traffic has been developed rapidly in recent years, and the meaning and the design goal of VoIP have also gone beyond its literal meaning, in other words, the VoIP technology refers not only to traditional telephone technology providing sessions between two parties, but also to a two-party and even multiparty multimedia communication technology involving voice and moving picture data and supporting various types of intelligent traffic.

IP is a routing protocol based on data packet transmission, which is located in the third layer of the IP protocol suite, and above which there are two optional protocols: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). The TCP protocol guarantees reliable and error-free transmission of data packets. When a plurality of packets are transmitted at the same time, the TCP protocol guarantees that all packets can reach their respective destinations, and will be submitted to the upper application programs in the correct sequence. The UDP protocol is a relatively simple protocol, which mainly aims at one-off transactions or transactions with higher real time requirement, and does not provide a sequencing and retransmitting mechanism. Above TCP protocol and UDP protocol, there are a plurality of different applications and traffics, which themselves determine whether the TCP protocol or the UDP protocol is to be adopted.

The UDP is unable to avoid losing packets and ensure an ordered transmission of packets. However, a Real-time Transport Protocol (RTP) and a Real-time Transport Control Protocol (RTCP) running above the UDP help implement these functions. FIG. 1 shows the format of an RTP header, wherein V represents a Version field of 2 bits, P represents a Padding field of 1 bit, X represents an Extension field of 1 bit, CC represents a Contributing Source (CSRC) Count field of 4 bits, M represents a Marker field of 1 bit, and PT represents a Payload Type field of 7 bits. Subsequently, there are a Sequence Number field of 16 bits, a Timestamp field of 32 bits, a Synchronization Source (SSRC) Identifier field of 32 bits, and a Contributing Source (CSRC) Identifier field of 32 bits. The RTP protocol provides peer-to-peer data transmission traffic having real-time characteristics, which can be used to transport voice and moving picture data. In general, a protocol data unit of RTP is carried by UDP packets. Moreover, in order to reduce delay as far as possible, payload of voice is usually very short. Another protocol cooperating with the RTP is RTCP protocol, which is the control protocol for RTP and is used to monitor traffic quality and transport information to the parties participating in a session. When an RTP session is set up, an RTCP session page will be opened implicitly. In other words, when a UDP port number is allocated to an RTP session to deliver media packets, an independent port number will be allocated to RTCP information. The UDP port number of an RTP packet is generally an even number, and the UDP port number of the corresponding RTCP packet will be the next odd number. The RTP and RTCP may use any pair of UDP ports between 1024 and 65535. However, in case a port number has not been allocated explicitly, the ports 5004 and 5005 will be allocated as default.

An Internet network comprises a computer and a router. A data packet to be transmitted over the Internet passing through a router is referred to as a hop. A hop represents a data packet's transmission through a router in a network consisting of interconnected network segments or its sub-networks. At present, VOIP technology uses signaling negotiation and a Resource-Reservation Protocol (RSVP) to guarantee transmission of real-time traffic in the Internet network.

The signaling negotiation means that both communicating parties should establish a connection via control signaling before the communication is started. First, the sender searches for the receiver through a server, i.e. searches the IP address of the receiver, and then the sender negotiates with the receiver about the parameters and establishes the connection therewith. After the negotiation, the sender will know the port number and the traffic type of the receiver.

The RSVP is a signaling protocol, which provides a method that establishes a channel having a bandwidth resource guarantee in the IP network before information is transmitted. Traditionally, an IP router is responsible only for forwarding packets, obtaining the address of the next hop router from the routing protocol. However, the RSVP, being similar to the signaling protocol of a circuit-switching system, informs each node (IP router) to be passed through of a data packet, and negotiates with the ending port to provide a quality guarantee for this data packet. Its basic principle is shown in FIG. 2:

-   -   The sender sends to the receiver a PATH message, which contains         a traffic identifier (i.e. the destination address) and its         traffic characteristics. The traffic characteristics include an         upper and lower limit of bandwidth as needed, delay and delay         jitter etc., which is shown as 1 in FIG. 1.     -   The message is transported by the routers hop by hop along the         path, and each router has been informed to reserve resources in         advance, thereby establishing a “path status” information table,         which contains the source address of the preceding hop in the         PATH message, which is shown as 2, 3 in FIG. 1.     -   The receiver, on receiving this message, calculates the resource         needed from respective traffic characteristics and QoS required,         and then sends to its upstream node a resource reservation         request (RESV) message, which contains mainly, as a parameter,         bandwidth required to be reserved. The RESV message is shown as         4 in FIG. 1.     -   The RESV message returns back to the sender along the original         sending path of PATH. The routers along the path, after         receiving the RESV message, call their respective access control         programs to determine whether the traffic will be accepted. If         the traffic is accepted, the routers allocate the bandwidth and         the buffer space for the traffic according to the requirement,         record the traffic status information, and then forward the RESV         message upstream; If the traffic is refused, the receivers         return an error information to the receiver to terminate the         call. This is shown as 5 in FIG. 1.     -   When the last router receives the RESV message and accepts the         request, it sends back to the receiver a confirmation message,         which is shown as 6 in FIG. 1.

The RSVP protocol has solved the problem of resource reservation, and to a great extent provides a QoS guarantee for the IP network. Therefore, it is an important method of allocation of resources given an extremely low number of subscribers. But with the passing of time, and the network having grown explosively, the RSVP has been faced with more and more problems, which mainly include: the routers along the path were originally designed for forwarding the data packets, and not specifically for resource reservation; with a dramatic increase in network traffic, the data forwarded by the routers increases rapidly; in order to improve the forwarding speed, the routers have already undertaken a heavy load, and thus it is impossible for the routers to process the complex Resource Reservation Protocols for each item of data any more. Therefore the network will break down or be unable to respond to new calls owing to the fact that there are too many calls and not enough resources to be allocated therefor. Furthermore, when there is a busy line or a router fault, etc., if the route is modified, a relatively time-consuming RSVP procedure needs to be performed again.

Since the above Resource Reservation Protocol is unable to carry out real-time transmission for a large number of subscribers, other methods of solving the above problems have to be found. One of the methods is to identify the real-time traffic by using port numbers.

As described above, the TCP and the UDP are both transport protocols located above the IP layer, and the processing interface between the IP and its upper layer. Both the TCP and the UDP contain, within their respective headers, information including source address port number and destination address port number, etc. The port numbers of the TCP and the UDP are used to distinguish respective IP addresses of a plurality of applications running on individual equipment.

Since a plurality of network applications may run on the same computer, it has to be guaranteed that the software applications on the destination computer for receiving data packets from the source host are correct, and that the responses can be sent to the correct applications on the source host. The procedure is actually implemented by using the port number of the TCP or the UDP. The fields of the source port and destination port in the headers of the abovementioned TCP and UDP are actually identifying information used to show identity in sending and receiving procedures. The combination of an IP address and a port number is referred to as a ‘socket’.

In general, a server is identified by a well-known port number. For example, as far as each TCP/IP implementation is concerned, the TCP port number of each of the FTP servers is 21, the TCP port number of each of the Telnet servers is 23, and the UDP port number of each TFTP (Trivial File Transfer Protocol) server is 69. These port numbers are assigned and managed by the Internet Assigned Numbers Authority (IANA).

The IANA defines three kinds of ports: Well Known Ports, Registered Ports and Dynamic and/or Private Ports, the respective port numbers of which are listed below:

-   -   Well Known Ports: from 0 to 1023;     -   Registered Ports: from 1024 to 49151;     -   Dynamic and/or Private Ports: from 49152 to 65535.

Cisco Corporation once adopted a method for identifying priorities of sessions by means of the port numbers (Frame Relay IP RTP Priority, Cisco IOS Release 12.0(7)T) to solve a transformation problem for VOIP packets to enter the Frame Relay network from the Ethernet. Specifically, there is a priority bit of a frame used in the Frame Relay network, from which the Frame Relay network can identify the order of the frames to be relayed. If an Ethernet subscriber and another subscriber of the Frame Relay network are having a real-time session under the RTP protocol, messages (or frames) from the Ethernet have to be mapped at the Gateway to frames of the Frame Relay network with a priority. As the port number of UDP had not been registered for the RTP protocol, the gateway could not identify the RTP frames, and was thus unable to map the RTP frame to a frame with high priority. Therefore, the RTP frames would be given lower priority, or would even be discarded. To solve the above problem, Cisco Corporation sets all frames with UDP port numbers of between 1024 and 65535 as having high priority, thus the RTP frame will be relayed preferentially owing to the high priority.

However, since the port numbers cover a wide range from 1024 to 65535 by means of the above solution, frames which should be given low priority are set as high priority as well, which leads to a system more vulnerable to network attacks, and authorized subscribers are not well served. Thus the frames with high priority are not served as they should be, instead they are served with low priority. Therefore, a session could be unsuccessfully set up or interrupted.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a method by which real-time multimedia traffic represented by voice and moving images can be transmitted over the Internet, so that the delay and jitter can be contained within acceptable limits. To achieve the above object, the technical solution of the present invention is implemented as follows:

A method for identifying real-time traffic hop by hop in an Internet network including a sender, a receiver, and routers in the network, which comprises steps of registering source port number and destination port number of the User Datagram Protocol (UDP) respectively for Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming Protocol (RTSP) with the Internet Assigned Numbers Authority (IANA) under the Internet Engineering Task Force (IETF) arrangement, then adding a Session ID field to identify sessions respectively in the headers of the above Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming protocol (RTSP).

According to one aspect of the present invention, the above Session ID field for identifying a session contains 32 bits.

According to another aspect of the present invention, both the above source port number and the destination port number of the User Datagram Protocol (UDP) registered respectively for Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming

Protocol (RTSP) are any number between 1024 and 65535.

According to yet another aspect of the present invention, both the above source port number and the destination port number of the User Datagram Protocol (UDP) registered respectively for Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming Protocol (RTSP) are any number between 1024 and 49151.

A method for identifying real-time traffic hop by hop in an Internet network including a sender, a receiver, and routers in the network, which comprises steps of registering the destination port number of the User Datagram Protocol (UDP) respectively for Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming Protocol (RTSP) with the Internet Assigned Numbers Authority (IANA) under the Internet Engineering Task Force (IETF) arrangement.

According to another aspect of the present invention, the above destination port number of the User Datagram Protocol (UDP) registered respectively for Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming Protocol (RTSP) is any number between 1024 and 65535.

According to yet another aspect of the present invention, the above destination port number of the User Datagram Protocol (UDP) registered respectively for Real-time Transport Protocol (RTP), Real-time Transport Control Protocol (RTCP) and Real-time Transport Streaming Protocol (RTSP) is any number between 1024 and 49151.

The method for identifying real-time traffic hop by hop in an Internet network according to the present invention has the following advantages:

-   -   1. The present invention enables frames of the Real-time         Transport protocol (RTP) to be identified hop by hop during the         packet's transmission. A priority can be assigned to real-time         traffic transmission owing to the fact that each router is         capable of identifying RTP frames.     -   2. The present invention provides a VOIP traffic mechanism other         than Resource Reservation Protocol. Compared to a Resource         Reservation Protocol capable of accommodating only a few network         subscribers, the present invention can be adopted in an actual         Internet network, and can be adopted also in the particular case         of a large number of network subscribers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of Real-time Transport Protocol (RTP) header format in the prior art;

FIG. 2 is a diagram showing the process of establishing a transmission path and reserving a resource by using a Resource Reservation Protocol (RSVP);

FIG. 3 is a diagram of Real-time Transport Protocol (RTP) header format according to the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 3 shows the first embodiment of the present invention. When a real-time traffic RTP frame is transmitted over an Internet network, the sender first transports the above RTP frame packed by the UDP, IP to the first router. Since the source port number and destination port number of the UDP have been registered respectively for RTP, RTCP and RTSP with the Internet Assigned Numbers Authority (IANA) under the Internet Engineering Task Force (IETF) arrangement, when the router receives the abovementioned real-time traffic frame it can determine from the destination port number of the UDP contained in the frame that the frame is a real-time frame. Therefore, the router forwards the frame to the next router with high priority, and there will no longer be any need for a process of reserving a resource. In the same way, the next router also determines from the destination port number of the UDP of the real-time frame that the frame is a real-time frame, and forwards it on further to the next router. In this way, real-time traffic hop by hop can be identified in an Internet network up to the receiver.

In the prior art, the source port number and destination port number of the UDP are used to identify different sessions. However, in the present invention, as the source port number and destination port number of the UDP have been used for registration a Session ID field of 32 bits to identify different sessions is added to the RTP header.

The second embodiment of the present invention will be described as follows. When a real-time traffic RTP frame is transmitted over an Internet network, the sender first transports the above RTP frame packed by the UDP, IP to the first router. Since the destination port number of the UDP has been registered respectively for RTP, RTCP and RTSP with Internet Assigned Numbers Authority (IANA) under the Internet Engineering Task Force (IETF) arrangement, when the router receives the above real-time traffic frame, it determines from the destination port number of the UDP of the real-time frame that the frame is a real-time frame, and thus forwards the frame to the next router with higher priority. There will no longer be any need for a process of reserving a resource. In the same way, the next router also determines from the destination port number of the UDP of the real-time frame that the frame is a real-time frame, and forwards it on further to the next router. In this way, real-time traffic hop by hop can be identified in an Internet network, up to the receiver.

When using the method of the above second embodiment, only the destination port number is registered whereas the source port number can serve as the identification field to identify different sessions. Therefore, a Session ID field will no longer be needed to add in the RTP header. That is to say, the header RTP will remain the same as that of the prior art (namely FIG. 1).

In summary, the methods of the present invention can be used to identify the frames of the Real-time Transport Protocol (RTP) hop by hop during the packet's transmission, and to provide priority for real-time traffic transport, so as to provide a QoS guarantee for real-time traffic even in the case of dramatically increasing network traffic. 

1.-7. (canceled)
 8. A method for identifying real-time traffic hop by hop in an Internet network including a sender, a receiver, and routers in the network, comprising: registering a source port number and a destination port number of the User Datagram Protocol respectively for a Real-time Transport Protocol, a Real-time Transport Control Protocol and a Real-time Transport Streaming Protocol with the Internet Assigned Numbers Authority under the Internet Engineering Task Force arrangement; and adding a Session ID field to identify sessions respectively in the headers of the above Real-time Transport Protocol, Real-time Transport Control Protocol and Real-time Transport Streaming protocol.
 9. The method as claimed in claim 8, wherein the above Session ID field to identify session contains 32 bits.
 10. The method as claimed in claim 8, wherein the registered source port number and the registered destination port number are any number between 1024 and
 65535. 11. The method as claimed in claim 10, wherein the registered source port number and the registered destination port number are any number between 1024 and
 49151. 12. A method for identifying real-time traffic hop by hop in an Internet network including a sender, a receiver, and routers in the network, comprising: registering a destination port number of the User Datagram Protocol respectively for a Real-time Transport Protocol, a Real-time Transport Control Protocol and a Real-time Transport Streaming Protocol with the Internet Assigned Numbers Authority under the Internet Engineering Task Force arrangement.
 13. The method as claimed in claim 12, wherein the registered destination port number is any number between 1024 and
 65535. 14. The method as claimed in claim 13, wherein the registered destination port number is any number between 1024 and
 49151. 